草庐IT

java - JUnit测试类顺序

全部标签

javascript - 如何在 Trails.js 中测试水线模型

我想用mocha测试我的Trails.js项目的模型。我用trailpack-waterline将我的模型加载到WaterlineORM中。追随足迹Docs我创建了一个User.test.js:'usestrict'constassert=require('assert')describe('UserModel',()=>{letUserbefore(()=>{assert(global.app.models.User)User=global.app.models.User})it('shouldexist',()=>{assert(User)})})这运行没有任何错误。但我无法以任何

javascript - DOM执行顺序问题

我在HEAD标签中有一些JavaScript,它在页面上的最后一个脚本(当前已解析)之前动态插入异步加载脚本标签。这个动态包含的脚本标签包含需要在DOM可用之后解析DOM的JavaScript,但在加载所有图像和脚本标签之前。重要的是,JavaScript在所有JS加载之前开始执行,因为如果有一个挂起的脚本,这会导致糟糕的用户体验。这意味着我不能等待DOMContentLoaded事件触发。对于将动态包含脚本标记的第一段JavaScript放在哪里,我没有任何灵active。我的问题是,不等待DOMContentLoaded事件而立即开始解析DOM对我来说是否安全?如果没有,我是否有办

javascript - 如何以不同的顺序刷新 AngularJS $httpBackend 响应

我有一个AngularJS服务,它执行$httpGET请求并在本地缓存响应。它旨在处理同时发生的多个调用,以便仅缓存来自最终调用的数据。具体来说,如果发生以下情况:请求开始请求B开始请求B已完成请求完成结果是请求B的响应被缓存了,因为它是最后发起的。但是我在Jasmine中对此进行单元测试时遇到了问题。我可以设置两个$httpBackend.expectGET()期望,但我只能按照请求的顺序刷新它们。本质上我需要能够做这样的事情:$httpBackend.expectGET('/one').respond(200,data1);$httpBackend.expectGET('/two'

javascript - 无法对使用 $window 的 Angular 指令进行单元测试

我有一堆针对各种Angular(1.4.7)指令的工作单元测试,我正在使用Karma、Jasmine和Sinon进行测试。我正在尝试为新指令添加单元测试,这是我目前唯一使用$window的指令,但我在控制台输出中看到一个神秘错误:TypeError:'undefined'isnotanobject(evaluating'this.proxy.toString')此错误来自第2372行的sinon.js。我在指令单元测试中做所有“正常”的事情,例如创建一个将指令作为属性的假元素:testElement=document.createElement('div');testElement.s

javascript - 如何在单元测试环境中模拟 browserHistory?

我正在尝试测试使用react-router的browserHistory的React组件。为了确保能够访问browserHistory,我使用了createMemoryHistory(react-router)模块,如下所示:letcreateMemoryHistory=require('react-router/lib/createMemoryHistory');在测试环境中,我利用了JSDOM库。global.document=jsdom('');global.window=document.defaultView;然后我尝试将创建的历史对象分配给DOM:lethistory=cr

javascript - 测试元素是否存在 Vuejs, Karma, Mocha

我是Javascript和Vue.js测试的新手。我通过vue-cli和内置Karma、Mocha和PhantomJS的完整webpack模板安装了vue。我运行了helloworld组件测试,它通过了。我有一个名为my-input.vue的vuejs组件,它生成以下HTML。exportdefault{}我对看起来像这样的组件进行了测试。importVuefrom'vue'import{defaultasMyInput}from'src/components/my-input.vue'describe('my-input.vue',()=>{it('shoulddisplayanin

javascript - Karma 中的单元测试 : Keypress inside a text Input

有一个简单的html文本输入:testcharacter.init();希望能够在此文本输入内发生的每个按键上运行单元测试,并根据特定键检查它。Javascript文件是:'usestrict';window.testcharacter=window.testcharacter||{};(function(){vartestcharacter=function(k){vars=document.getElementById('inputstring').valueif(s!=null||s.trim()!=""){if(k==65){document.getElementById('r

javascript - Google Places API 中具有关联 html_attributions 的地点或 place_id(用于测试目的)是什么?

我们正在使用GooglePlacesPlaceDetailsAPI(更具体地说,GoogleMapsJavascriptAPI)。作为使用条款的一部分,我们必须显示响应中html_attributions的值(如果存在)。但是,在尝试测试我们的实现时,我很难找到place的PlacesService.getDetails()响应包含非空值html_属性。PlaceDetailsAPI将为其返回非空html_attributions的示例place_id或地点是否有引用页? 最佳答案 如下所述docs,如果您从google复制任何内容

javascript - 了解已解决 promise 的后续 then() 处理程序的执行顺序

我正在学习Promise,为了理解它,我阅读了一些有关JavaScript事件循环的内容。这article简要介绍了调用栈、事件表、消息队列等事件循环的工作原理。但我不知道调用堆栈如何处理包含“return”的行,以及此后会发生什么。下面是我写的一个例子,希望能理解Promise是如何基于事件循环工作的。另见http://jsbin.com/puqogulani/edit?js,console如果你想试一试。varp1=newPromise(function(resolve,reject){resolve(0);});p1.then(function(val){console.log(

javascript - 调试用 Testcafe 编写的 UI 测试

更新:关于另一个(锤头)错误,我们被迫在testcafe测试中使用缩小代码。由于此错误已解决,我们现在可以针对非缩小代码运行测试。但是,我们仍然遇到sourcemaps被testcafe删除的问题。当我们正常运行webpack开发服务器时,我们会看到所有源映射,并且能够设置断点和调试应用程序代码。然而,在测试期间,源映射不再可用。您可以看到显示2个案例的附加屏幕截图。我们是不是做错了什么?ImagewithoutTestcafeImagewithtestcafe我们的项目使用Testcafe+Webpack+Vue.js。我知道可以通过t.debug()调试测试代码。指令或--insp